﻿using DirectSell.Model.Manager;
using DirectSell.Model.Query;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Webdiyer.WebControls.Mvc;

namespace Direct.IDAL.Manager.Admin
{
    /// <summary>
    /// 管理员仓储接口 
    /// </summary>
    public interface IAdminRepository:IBaseManagerRepository
    {
        #region 查询管理员列表
        /// <summary>
        /// 查询管理员列表
        /// </summary>
        /// <param name="condition"></param>
        /// <returns></returns>
        Task<PagedList<Managers>> GetManagers(BaseCondition condition);
        #endregion

        #region 添加管理员
        /// <summary>
        /// 添加管理员
        /// </summary>
        /// <param name="req"></param>
        /// <returns></returns>
        bool AddManager(ManagerReq req);
        #endregion

        #region 判断管理员是否存在
        /// <summary>
        /// 判断管理员是否存在
        /// </summary>
        /// <param name="usercode"></param>
        /// <returns></returns>
        bool IsExist(string usercode);
        #endregion

        #region 编辑管理员资料
        /// <summary>
        /// 编辑管理员资料
        /// </summary>
        /// <param name="req"></param>
        /// <returns></returns>
        bool Eidt(ManagerReq req);
        #endregion

        #region 查询一个管理员
        /// <summary>
        /// 查询一个管理员
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        Managers QueryManagerById(int id);
        #endregion

        #region 删除
        /// <summary>
        /// 删除
        /// </summary>
        /// <param name="id"></param>
        /// <param name="type"></param>
        /// <returns></returns>
        bool Delete(int id);
        #endregion

        #region 查询管理员数量
        /// <summary>
        /// 查询管理员数量
        /// </summary>
        /// <returns></returns>
        bool CheckCount();
        #endregion
    }
}
